package de.grosjohann.android.feuerwehr.util;

import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

public final class PrefsUtil {

  public static final int MILLI_SEC_OF_MINUTE = 1000 * 60;

  public static String getString(Context ctx, int resId) {
    final String defaultValue = "";
    return getString(ctx, resId, defaultValue);
  }

  public static String getString(Context ctx, int keyResId, String defaultValue) {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);

    String key = ctx.getString(keyResId);
    return prefs.getString(key, defaultValue);
  }

  public static String getString(Context ctx, int keyResId, int defaultResId) {
    String defaultValue = ctx.getString(defaultResId);
    return getString(ctx, keyResId, defaultValue);
  }

  public static boolean getBoolean(Context ctx, int keyResId, boolean defaultValue) {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);

    String key = ctx.getString(keyResId);
    return prefs.getBoolean(key, defaultValue);
  }

  public static boolean getBoolean(Context ctx, int keyResId, int defaultResId) {
    String defaultValue = ctx.getString(defaultResId);
    return getBoolean(ctx, keyResId, Boolean.parseBoolean(defaultValue));
  }

  public static int getInt(Context ctx, int keyResId) {
    final int defaultValue = 0;
    return getInt(ctx, keyResId, defaultValue);
  }

  public static int getIntDefault(Context ctx, int keyResId, String defaultValue) {
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);

    String key = ctx.getString(keyResId);
    return Integer.parseInt(prefs.getString(key, defaultValue));
  }

  public static int getInt(Context ctx, int keyResId, int defaultResId) {
    String defaultValue = ctx.getString(defaultResId);
    return getIntDefault(ctx, keyResId, defaultValue);
  }
}
